1. Field of the Invention
The present invention relates to the design of operating systems for computer systems. More specifically, the present invention relates to a method and an apparatus for facilitating secure extension of an application within a computer system.
2. Related Art
In recent years, microprocessors have become increasingly powerful, while requiring less physical space and power. This trend has allowed microprocessors to be used in numerous devices in addition to traditional computer systems. Mobile devices, such as PDAs, cell phones, cameras, and audio devices have all benefited from this trend. Due to the increased capability of these embedded microprocessors, mobile devices are now offering increased functionality and upgradeability that has not been possible in the past. However, at the same time, companies are facing new challenges arising from this rapid increase in functionality.
Hardware manufacturers must decide whether to open up their devices to allow them to be extended by third parties, or to close them off in order to control extensions to their product. If a company chooses to open a device to third parties, these third parties might write code that impairs the functionality of the device, thus resulting in a negative experience for the consumer. In many cases, the consumer will associate this negative experience with the device itself, or with the company that manufactured the device, and not with the third party. Additionally, malicious programmers can take advantage of the open architecture to spread viruses or to cause any number of unwanted problems.
On the other hand, if a company closes off their devices to third party developers, they severely limit choices available to consumers who use the devices, and thus risk losing market share to competitors.
Hence, what is needed is a way to extend the functionality of a computing device without the inherent problems listed above.